Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Інститут комп’ютерних наук та інформаційних технологій
Кафедра АСУ
З в і т
до розрахункової роботи №2
на тему:
«Створення проекту із застосуванням
наслідування та поліморфізму»
з дисципліни
«Об'єктно-орієнтоване програмування»
Виконав
Студент гр. КН-31
Перевірив
Бунь А. Р.
Львів – 2009 р.
Індивідуальне завдання
Варіант 3.
Створити:
Клас “вікно”: координати, розміри, одиниці виміру для координат, одиниці виміру для розмірів.
Дочірні класи:
“вікно у будинку” (матеріал, товщина, спосіб відкривання, стан – відкрите, закрите);
“ вікно у програмі” (стиль, наявність дочірніх вікон, стан – видиме, невидиме).
Перевантажити операції: порівняння – за координатами, розмірами та матеріалом або стилем, інкременту – як зміну матеріалу або стилю, зміни знаку – як зміну стану. Перевизначити метод “малювання”.
Тексти головного файлу проекту, файлів модулів та форм
PROJECT1.DPR
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
UNIT1.PAS
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
RadioGroup1: TRadioGroup;
GroupBox1: TGroupBox;
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
ComboBox2: TComboBox;
Button1: TButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
Button2: TButton;
Label6: TLabel;
Label7: TLabel;
ComboBox5: TComboBox;
Label8: TLabel;
ComboBox6: TComboBox;
Button3: TButton;
Label9: TLabel;
GroupBox2: TGroupBox;
Label10: TLabel;
Button4: TButton;
Label11: TLabel;
RadioGroup2: TRadioGroup;
Label12: TLabel;
GroupBox3: TGroupBox;
Label13: TLabel;
RadioGroup3: TRadioGroup;
Button5: TButton;
Label14: TLabel;
GroupBox4: TGroupBox;
Button6: TButton;
Label15: TLabel;
procedure RadioGroup1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type TWindow=class
x:integer;//координати (x)
y:integer;//координати (y)
height:integer;//розмір (висота)
width_window:integer;//розмір (ширина)
px:String;//одиниці виміру для координат
sm:String;//одиниці виміру для розмірів
constructor Create;overload;
function Compare(height1,width1,height2,width2:Integer):String;overload;
function Compare(height1,width1:real;height2,width2:Integer):String;overload;
function Compare(height1,width1:integer;height2,width2:real):String;overload;
function Compare(height1,width1,height2,width2:Real):String;overload;
function Size(size1,size2,size3,size4:integer):String;overload;
function Size(size1,size2,size3,size4:real):String;overload;
function Size(size1,size2:real;size3,size4:integer):String;overload;
function Size(size1,size2:integer;size3,size4:real):String;overload;
function Style(style1,style2:integer):String;overload;
function Style(style1,style2:real):String;overload;
function Style(style1:real;style4:integer):String;overload;
function Style(style1:integer;style4:real):String;overload;
function Increment:integer;overload;
function Increment(increment:integer):integer;overload;
function Increment(increment:real):integer;overload;
function Stan:integer;overload;
function Stan(znak:integer):integer;overload;
constructor Create(x1,y1,height1,width_window1:integer; sm1,px1:string);overload;
destructor Destroy;override;
function Draw:String;virtual;abstract;
end;
ty...